﻿using System.Collections.Generic;

namespace TyMES.Communication.Response
{
    public class MapToPrintStyle
    {
        
        public class HDPrintStyle
        { 
            public List<double> ImageHeights { get; set; }
        }

    public class PrintElementOptions
    {
        public float left { get; set; }
        public float top { get; set; }
        public float height { get; set; }
        public float width { get; set; }
        public string fontSize { get; set; }
        public string fontWeight { get; set; }
        //public string textContentVerticalAlign { get; set; } // 根据 JSON 添加了这个属性
        public string title { get; set; }
        public float right { get; set; }
        public float bottom { get; set; }
        public float vCenter { get; set; }
        public float hCenter { get; set; }
        public bool coordinateSync { get; set; }
        public bool widthHeightSync { get; set; }
        public int qrCodeLevel { get; set; }
    }

    public class PrintElementType
    {

        public string title { get; set; }
        public string type { get; set; }
    }

    public class PrintElement 
    {
        public PrintElementOptions options { get; set; }
        public PrintElementType printElementType { get; set; }
    }

    public class WatermarkOptions
    {
        public string content { get; set; }
        public string fillStyle { get; set; }
        public string fontSize { get; set; }
        public int rotate { get; set; }
        public int width { get; set; }
        public int height { get; set; }
        public bool timestamp { get; set; }
        public string format { get; set; }
    }

    public class PrintPanel
    {
        public int index { get; set; }
        public string name { get; set; }
        public int height { get; set; }
        public int width { get; set; }
        public float paperHeader { get; set; }
        public float paperFooter { get; set; }
        public List<PrintElement> printElements { get; set; } // 更改为 List<PrintElement>
        public int paperNumberLeft { get; set; }
        public int paperNumberTop { get; set; }
        public bool paperNumberDisabled { get; set; }
        public bool paperNumberContinue { get; set; }
        public int orient { get; set; }
        public WatermarkOptions watermarkOptions { get; set; }
    }

    public class PrintConfiguration
    {
        public List<PrintPanel> panels { get; set; } // 更改为 List<PrintPanel>
    }
    }
}
